#ifndef DATABASE_H
#define DATABASE_H

#include <QObject>
#include <QSqlDatabase>
class DataBase : public QObject
{
    Q_OBJECT

public:
    struct edge {
        int start;    // 起点
        int end;      // 终点
        float distance; // 距离
        //该边对应的一元一次方程
        float k; // 斜率
        float b; // 截距
    };
     ~DataBase();
    static DataBase& getInstance();//单例模式
     bool handerData(QString table,QMap<QString,QString>& map,QString name1);



     QVector<QVector<double>> getExitPos();//获取安全出口位置
     QVector<QVector<double>> getPointData();//获取所有节点位置
     QVector<double> getPointData(int i);//获取指定节点位置
     QList<edge> getEdgeData();//获取边集
     QList<double> getFireManinfo(int i);//获取指定消防员的路径信息
     void writeData(QString table,QString value);//写入数据
     void updateData(QString table,QString key,QString value);//修改数据
     void clearData(QString table);//清空表
     DataBase::edge getEdgeData(int from,int to);
private:
    QSqlDatabase db;//数据库
    void init();
    explicit DataBase(QObject *parent = nullptr);
signals:
};

#endif // DATABASE_H
